Xceed .NET Libraries Documentation
Xceed.Compression Assembly / Xceed.Compression Namespace / QuickCompression Class / Compress Method / Compress(Byte[],Int32,Int32,CompressionMethod,CompressionLevel) Method
The array of bytes to compress. A maximum of count bytes are taken from this array and compressed
The byte offset in buffer at which to begin taking the data to compress.
The maximum number of bytes to be taken from buffer.
A CompressionMethod value representing the compression method to use.
A CompressionLevel value representing the compression level to use.


In This Topic
    Compress(Byte[],Int32,Int32,CompressionMethod,CompressionLevel) Method
    In This Topic
    Compresses an array of bytes specifying the amount of bytes to compress as well as the compression method and level.
    Syntax
    'Declaration
     
    Public Overloads Shared Function Compress( _
       ByVal buffer() As Byte, _
       ByVal offset As Integer, _
       ByVal count As Integer, _
       ByVal method As CompressionMethod, _
       ByVal level As CompressionLevel _
    ) As Byte()
    'Usage
     
    Dim buffer() As Byte
    Dim offset As Integer
    Dim count As Integer
    Dim method As CompressionMethod
    Dim level As CompressionLevel
    Dim value() As Byte
     
    value = QuickCompression.Compress(buffer, offset, count, method, level)
    public static byte[] Compress( 
       byte[] buffer,
       int offset,
       int count,
       CompressionMethod method,
       CompressionLevel level
    )

    Parameters

    buffer
    The array of bytes to compress. A maximum of count bytes are taken from this array and compressed
    offset
    The byte offset in buffer at which to begin taking the data to compress.
    count
    The maximum number of bytes to be taken from buffer.
    method
    A CompressionMethod value representing the compression method to use.
    level
    A CompressionLevel value representing the compression level to use.

    Return Value

    An array of bytes containing the compressed data. Can be empty.
    Remarks

    If the data to compress is not a byte array, it will need to be converted into a byte array before it can be compressed. This can be done, in the case of a string, using the System.Text.Encoding.GetBytes(System.Char[]) method of the System.Text.Encoding class.

    The BZip, BWT, and PPMd compression methods are not supported. The compression level only applies to the Deflated and Deflated64 compression methods.

    The PPMd algorithm uses a custom memory management system called SubAllocator. In a zip file, the memory size the SubAllocator uses is defined in the WinZip PPMd header for the compressed file and this header's value is used when decompressing the data. In general, WinZip uses 64Mb. Since the algorithm used was not optimized from the original PPMd version I revision 1, the SubAllocator initially requires the total amount of memory specified in the PPMd compressor. This means you must have at least 64 free Mb of RAM when using this compression method.

    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also